home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 2,801 to 2,900 / aol-file-protocol-4400-2801-to-2900.zip / AOLDLs / C++ Files Library / PiCalc / PiCalc.sit / PiCalc ƒ / PiCalc.cp next >
Text File  |  1995-01-18  |  1KB  |  49 lines

  1. //============================ ╥PiCalc.cp╙ =============================//
  2. // Description:        A pi calculator, in C++
  3. // Author:            Macneil Shonle, John Shonle
  4. // 
  5. // Public Domain
  6.  
  7. // Add, ╥CPlusPlus.lib╙, ╥ANSI (2i) C++.68K.Lib╙, ╥ANSI (2i) C.68K.Lib╙,
  8. // ╥SIOUX.68K.Lib╙ and ╥MacOS.lib╙, if you are using CodeWarrior.
  9.  
  10. //============================== headers ===============================//
  11. #include <iostream.h>
  12. #include <iomanip.h>
  13.  
  14. //============================= constants ==============================//
  15. const long double    s2 = long double(239.0) * long double(239.0);
  16. const long double    s1Mult = long double(16.0) / long double(5.0);
  17. const long double    s2Mult = long double(4.0) / long double(239.0);
  18.  
  19. //=============================== main =================================//
  20. int main()
  21. {    long double        p1 = 1.0;
  22.     long double        p2 = 1.0;
  23.     
  24.     long double        sign = 1.0;
  25.     long double        ser1 = 0.0;
  26.     long double        ser2 = 0.0;
  27.     
  28.     long double        t1, t2;
  29.     
  30.     long double        pi;
  31.     
  32.     for( int i=1; i<=17; i++ )
  33.     {    t1 = sign * p1 / ( 2 * i - 1 );
  34.         t2 = sign * p2 / ( 2 * i - 1 );
  35.         
  36.         p1 = p1 / 25;
  37.         p2 = p2 / s2;
  38.         
  39.         sign = -sign;
  40.         
  41.         ser1 = ser1 + s1Mult * t1;
  42.         ser2 = ser2 + s2Mult * t2;
  43.         
  44.         pi = ser1 - ser2;
  45.         cout << setprecision( 16 ) << pi << "\n\n";
  46.     }
  47.     
  48.     return 0;
  49. }